BASH-skriptien optimoinnissa on joskus kyse 10% luokkaa olevista parannuksista, mutta 5* nopeutus on sekin arkipäivää ja joskus ylärajaa ei ole. Esimerkki:

Esitäpä foorumilla skripti. Hetikohta joku väsää parikertaa nopeamman. Ja hetkenkuluttua joku 10* nopeamman. Ja jos homma on tarpeeksi mielenkiintoinen niin nopeutuksia tulee jatkuvasti. Sitähän virtuoosit eivät kestä että aina löytyy parempi joten he julistavat BASH:in kelvottomaksi ja väittävät ettei jotakin saa tehdä.
   
BASH-skriptien optimoinnissa yksi parhaista keinoista on kirjoittaa käskyn perään & sillä se määrää tulkin laittamaan käskyn omaan säikeeseensä ja mikäli prosessori-ytimiä löytyy niin säikeitä suoritetaan rinnakkain. Mutta joskus joku yrittää käyttää arvoja joita parhaillaan määritellään jossain säikeissä ja tällöin koodiin täytyy laittaa käsky: joka määrää että suoritus voi jatkua siitä eteenpäin vasta kun kaikki säikeet ovat valmiit. 

Myöskin on syytä käyttää AWK:ia SED:in sijasta mikäli se on mahdollista. Jos SED:iä on pakko käyttää niin joskus kannattaa käyttää Super-SED:iä käskyllä ssed. Ssed täytyy ladata käskyllä: sudo apt-get install ssed

Nopeutta laskee myös ulkoisten komentojen käyttäminen silloin kun sisäinenkin komento löytyy. Esimerkiksi älä käytä käskya ls vaan "echo *" . 

Kovalevy-toimintoja kannattaa välttää, mutta jokatapauksessa PATH-muuttujaan kannattaa laittaa niin vähän kuin mahdollista.

Funktioiden käyttöön on usein pakottavia syitä ja jokatapaiksessa ne usein selventävät koodia.  Mutta ne hidastavat jonkinverran ja joskus nopeus kasvaa kun funktion koodin kirjoittaa tekstiin sellaisenaan.

#define SIGHUP     1    /* hangup, generated when terminal disconnects */
#define SIGINT     2    /* interrupt, generated from terminal special char */
#define SIGQUIT    3    /* (*) quit, generated from terminal special char */
#define SIGILL     4    /* (*) illegal instruction (not reset when caught)*/
#define SIGTRAP    5    /* (*) trace trap (not reset when caught) */
#define SIGABRT    6    /* (*) abort process */
